.\" wired.8
.\"
.\" Copyright (c) 2003-2007 Axel Andersson
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\"    notice, and the entire permission notice in its entirety,
.\"    including the disclaimer of warranties.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\"    notice, this list of conditions and the following disclaimer in the
.\"    documentation and/or other materials provided with the distribution.
.\"
.\" THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
.\" INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
.\" AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL
.\" MARCUS D. WATTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
.\" BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
.\" OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
.\" ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
.\" TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
.\" USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
.Dd Feb 5, 2007
.Dt WIRED 8
.Os
.Sh NAME
.Nm wired
.Nd Wired server
.Sh SYNOPSIS
.Nm wired
.Op Fl 46Dlhtuv
.Op Fl d Ar server_root
.Op Fl f Ar config_file
.Op Fl i Ar log_lines
.Op Fl L Ar log_file
.Op Fl s Ar syslog_facility
.Sh DESCRIPTION
.Nm wired
is the Wired server program, implementing the Wired chat and file transfer protocol. It is designed to run as a standalone server. On startup,
.Nm wired
will read the specified configuration file, bind to the specified ports and listen for connections. It is recommended that
.Xr wiredctl 1
is used to control the starting and stopping of
.Nm wired .
.Pp
The options are as follows:
.Pp
.Bl -tag -width Ds
.It Fl 4
Listen on IPv4 addresses only.
.It Fl 6
Listen on IPv6 addresses only.
.It Fl D
Do not daemonize.
.Nm wired
will run in the foreground and log to
. Va stderr .
.It Fl d Ar server_root
Sets the server root path.
.Nm wired
will attempt to locate its required files under this directory. The default value is set to the path
.Nm wired
was originally installed as, so it will most often not need to be set.
.It Fl f Ar config_file
Sets the path of the configuration file, relative to
.Va server_root .
The default is
.Pa etc/wired.conf .
.It Fl h
Displays a brief help message and exits.
.It Fl i Ar log_lines
When logging to a file using
.Fl L ,
limit the number of lines the log may occupy to
.Ar log_lines .
.It Fl L Ar log_file
Sets the path of the file that
.Nm wired
will log to. If it is not set,
.Nm wired
will instead log via
.Xr syslog 3 .
.It Fl l
Increases the log level. By default,
.Nm wired
will log everything but debug messages. Use this flag once to also log debug messages.
.It Fl s Ar syslog_facility
Sets the
.Xr syslog 3
facility to use for logging. See
for information on possible values. The default is
.Va daemon .
.It Fl t
Runs a configuration syntax test and exit.
.It Fl v
Displays version information and exits.
.El
.Sh CONFIGURATION FILE
.Nm wired
reads configuration data from
.Va config_file .
The file format and configuration options are described in
.Xr wired.conf 5 .
.Sh FILES
The locations of these files can be configured in
.Va config_file ,
this list describes the default locations. All files are contained within the
.Va server_root
path.
.Bl -tag -width Ds
.It Pa banlist
A newline separated list of permanently banned IPs. Subnet notation (192.168.0.0/16 or 192.168.0.0/255.255.0.0) and wildcards (192.168.*.*) are recognized.
.It Pa etc/certificate.pem
An OpenSSL certificate as described in
.Xr req 1 .
.It Pa etc/wired.conf
A configuration file for
.Nm wired .
Its file format is described in
.Xr wired.conf 5 .
.It Pa files/
A directory containing all files that are publically available to connected users.
.It Pa groups
A newline separated list of group accounts. Each line consists of the following fields, separated by `:':
.Pp
.Dl name
.Dl can get user info
.Dl can broadcast
.Dl can post news
.Dl can clear news
.Dl can download
.Dl can upload
.Dl can upload anywhere
.Dl can create folders
.Dl can move files
.Dl can delete files
.Dl can view drop boxes
.Dl can create accounts
.Dl can edit accounts
.Dl can delete accounts
.Dl can elevate privileges
.Dl can kick users
.Dl can ban users
.Dl cannot be kicked
.Dl download speed limit
.Dl upload speed limit
.Dl download limit
.Dl upload limit
.Dl can set chat topic
.Dl files root directory
.Pp
.It Pa news
A public news file for the server. This file is a series of the following fields, separated by an ASCII file separator character:
.Pp
.Dl name
.Dl timestamp
.Dl content
.Pp
Each such record of fields is separated by an ASCII group separator character.
.It Pa wired.status
A status file for the daemon. It is written to periodically, and is used by
.Xr wiredctl 8
and others to display some statistics. The file is a series of numbers, separated by a space character:
.Pp
.Dl time of startup
.Dl number of online users
.Dl total number of users
.Dl number of active downloads
.Dl total number of downloads
.Dl number of active uploads
.Dl total number of uploads
.Dl number of bytes downloaded
.Dl number of bytes uploaded
.Pp
.It Pa users
A newline separated list of user accounts. Each line consists of the following fields, separated by `:':
.Pp
.Dl name
.Dl password
.Dl group
.Dl can get user info
.Dl can broadcast
.Dl can post news
.Dl can clear news
.Dl can download
.Dl can upload
.Dl can upload anywhere
.Dl can create folders
.Dl can move files
.Dl can delete files
.Dl can view drop boxes
.Dl can create accounts
.Dl can edit accounts
.Dl can delete accounts
.Dl can elevate privileges
.Dl can kick users
.Dl can ban users
.Dl cannot be kicked
.Dl download speed limit
.Dl upload speed limit
.Dl download limit
.Dl upload limit
.Dl can set chat topic
.Dl files root directory
.Pp
.El
.Sh AUTHORS
.Nm wired
and the Wired protocol were developed by Axel Andersson, Zanka Software.
.Sh SEE ALSO
.Xr wiredctl 1 ,
.Xr wired.conf 5
